package com.hxzy.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hxzy.common.core.domain.entity.SysDictData;
import com.hxzy.common.core.domain.entity.SysRole;
import com.hxzy.system.domain.dto.SysDictDataSearchDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Arrays;
import java.util.List;

@Mapper
public interface SysDictDataMapper extends BaseMapper<SysDictData> {


    /**
     * 根据类型名称查询数据
     * @param dictType
     * @return
     */
    List<SysDictData> selectByDictType(String dictType);

    /**
     * 根据字典类型查询字典数据
     *
     * @param dictType 字典类型
     * @return 字典数据集合信息
     */
    List<SysDictData> selectDictDataByType(String dictType);

    /**
     * 根据字典类型值的个数
     * @param dictType
     * @return
     */
    int countDictDataByType(String dictType);

    /**
     * 导出excel
     *
     * @param sysDictDataSearchDTO 字典数据信息
     * @return 字典数据集合信息
     */
    List<SysDictData> searchExport(@Param(value = "dto") SysDictDataSearchDTO sysDictDataSearchDTO);

    /**
     * 根据条件分页查询字典数据
     * @param page
     * @param sysDictDataSearchDTO
     * @return
     */
    IPage<SysDictData> search(IPage<SysRole> page, @Param(value = "dto") SysDictDataSearchDTO sysDictDataSearchDTO);

    /**
     * 根据状态状态查询所有的数据
     * @param status
     * @return
     */
    List<SysDictData> selectAllDictDataList(String status);
}
